//配置App环境:开始
/**
 * App环境是与多个 Webview 相关的环境，并不是仅仅当前 Webview 才会用到的环境
 */


//分发事件：开始

//通过 LaunchWebview 中 dispenseEventSeries 方法分发事件
if (!window.dispenseEventSeriesInLaunch) {

	/**
	 * 在 LaunchWebview 中分发事件系列
	 * @param series : string    事件系列名字
	 * @param name : string     事件名字
	 * @param data : any   分发事件的附加数据
	 */
	window.dispenseEventSeriesInLaunch = function dispenseEventSeriesInLaunch(series, name, data) {
		var lanchWVO = plus.webview.getLaunchWebview();
		var evalJSStr = 'window.dispenseEventSeries("' + series + '" , "' + name + '", ' + JSON.stringify(data) + ' )';
		lanchWVO.evalJS(evalJSStr);
	}
}

//分发事件：结束

//配置App环境:结束



//外部页面：开始



//注册App事件:开始
/**
 * 注册 App 事件；
 * 注释：App事件是与多个 Webview 相关的事件，并不是仅仅当前 Webview 可能用到；
 */

if (!window.appEventIsRegistered) { //如果 App 事件还末注册，则注册 App 事件

	//显示关闭事件：开始

	var currWVO = plus.webview.currentWebview();

	currWVO.addEventListener("show", function() {
		console.log('----事件/web2app/common:show;Webview:' + currWVO.id);

		dispenseEventSeriesInLaunch("Broadcast", "displayChange", {
			webviewID: currWVO.id,
			action: "show"
		});

	});

	currWVO.addEventListener("close", function() {
		console.log('-----事件/web2app/common:close;Webview:' + currWVO.id);

		dispenseEventSeriesInLaunch("Broadcast", "displayChange", {
			webviewID: currWVO.id,
			action: "close"
		});
	});

	//显示关闭事件：结束

	//应用进入前台：开始
	function foregroundHandle(event) {
		var data = plus.runtime.arguments;
		console.log("---common:前台：" + data);

		if (data) {
			dispenseEventSeriesInLaunch("ClientEvent", "foreground", data);
		}
	}

	document.addEventListener("foreground", foregroundHandle);
	document.addEventListener("resume", foregroundHandle);

	//应用进入前台：结束

	//监听返回事件：开始
	plus.key.addEventListener("backbutton", function(event) {
		console.log("---事件：App:backbutton");

		if (window.shareInst && window.shareInst.client) {
			window.shareInst.client.back();
		} else {
			currWVO.canBack(function(e) {
				if (e.canBack) {
					currWVO.back();
				} else {
					currWVO.close();
				}
			});
		}

	});

	//监听返回事件：结束


	window.appEventIsRegistered = true; //标识 App 事件已注册

	console.log("---common.append.js中的App事件已注册");

}

//注册App事件:结束

//外部页面：结束

//文件加载状态
window.commonAppendJS = true;

console.log("---common.append.js加载完毕");
